/**
 * File FromUser.java 
 */
package cs.ui;

import cs.entity.UserFile;
import cs.entity.UserTextMessage;

/**
 * Describes all signals that can be sent by the user to the program. <p>
 * Package  cs.ui
 * Project ChatSystemG1 - INSA 4INFOA1 - 2013/2014
 * @author Julie DUMONS & Juste OUEDRAOGO
 */
public interface FromUser {
	/**
	 * Signal sent to request the connection to the chat.	 
	 */
	public void connect() ;
	
	/**
	 * Signal sent to request the disconnection to the chat.	 
	 */
	public void disconnect() ; 
	
	/**
	 * Signal sent to inform the system chosen username.	 
	 */
	public void username(); 
	
	/**
	 * Signal sent to write a message to an other user
	 * @param txt contains the text and the user receiver
	 */
	public void writeMsg(UserTextMessage txt) ; 
	
	/**
	 * Signal sent to request the closure of application. 
	 */
	public void close() ;
	
	/**
	 * Signal sent to request to send a file to a remote user
	 * @param u file to be sent 
	 */
	public void chooseFile(UserFile u); 
}
